/**
 * EasyUI for jQuery 1.8.1
 *
 * Copyright (c) 2009-2019 www.jeasyui.com. All rights reserved.
 *
 * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php
 * To use it on other terms please contact us: info@jeasyui.com
 *
 */
(function ($) {
    var _1 = 1;

    function _2(_3) {
        var _4 = $("<span class=\"checkbox inputbox\">" + "<span class=\"checkbox-inner\">" + "<svg xml:space=\"preserve\" focusable=\"false\" version=\"1.1\" viewBox=\"0 0 24 24\"><path d=\"M4.1,12.7 9,17.6 20.3,6.3\" fill=\"none\" stroke=\"white\"></path></svg>" + "</span>" + "<input type=\"checkbox\" class=\"checkbox-value\">" + "</span>").insertAfter(_3);
        var t = $(_3);
        t.addClass("checkbox-f").hide();
        var _5 = t.attr("name");
        if (_5) {
            t.removeAttr("name").attr("checkboxName", _5);
            _4.find(".checkbox-value").attr("name", _5);
        }
        return _4;
    };

    function _6(_7) {
        var _8 = $.data(_7, "checkbox");
        var _9 = _8.options;
        var _a = _8.checkbox;
        var _b = "_easyui_checkbox_" + (++_1);
        var _c = _a.find(".checkbox-value").attr("id", _b);
        _c.unbind(".checkbox").bind("change.checkbox", function (e) {
            return false;
        });
        if (_9.label) {
            if (typeof _9.label == "object") {
                _8.label = $(_9.label);
                _8.label.attr("for", _b);
            } else {
                $(_8.label).remove();
                _8.label = $("<label class=\"textbox-label\"></label>").html(_9.label);
                _8.label.css("textAlign", _9.labelAlign).attr("for", _b);
                if (_9.labelPosition == "after") {
                    _8.label.insertAfter(_a);
                } else {
                    _8.label.insertBefore(_7);
                }
                _8.label.removeClass("textbox-label-left textbox-label-right textbox-label-top");
                _8.label.addClass("textbox-label-" + _9.labelPosition);
            }
        } else {
            $(_8.label).remove();
        }
        $(_7).checkbox("setValue", _9.value);
        _d(_7, _9.checked);
        _e(_7, _9.readonly);
        _f(_7, _9.disabled);
    };

    function _10(_11) {
        var _12 = $.data(_11, "checkbox");
        var _13 = _12.options;
        var _14 = _12.checkbox;
        _14.unbind(".checkbox").bind("click.checkbox", function () {
            if (!_13.disabled && !_13.readonly) {
                _d(_11, !_13.checked);
            }
        });
    };

    function _15(_16) {
        var _17 = $.data(_16, "checkbox");
        var _18 = _17.options;
        var _19 = _17.checkbox;
        _19._size(_18, _19.parent());
        if (_18.label && _18.labelPosition) {
            if (_18.labelPosition == "top") {
                _17.label._size({width: _18.labelWidth}, _19);
            } else {
                _17.label._size({width: _18.labelWidth, height: _19.outerHeight()}, _19);
                _17.label.css("lineHeight", _19.outerHeight() + "px");
            }
        }
    };

    function _d(_1a, _1b) {
        var _1c = $.data(_1a, "checkbox");
        var _1d = _1c.options;
        var _1e = _1c.checkbox;
        _1e.find(".checkbox-value")._propAttr("checked", _1b);
        var _1f = _1e.find(".checkbox-inner").css("display", _1b ? "" : "none");
        if (_1b) {
            _1f.addClass("checkbox-checked");
        } else {
            _1f.removeClass("checkbox-checked");
        }
        if (_1d.checked != _1b) {
            _1d.checked = _1b;
            _1d.onChange.call(_1a, _1b);
            $(_1a).closest("form").trigger("_change", [_1a]);
        }
    };

    function _e(_20, _21) {
        var _22 = $.data(_20, "checkbox");
        var _23 = _22.options;
        _23.readonly = _21 == undefined ? true : _21;
        _22.checkbox.removeClass("checkbox-readonly").addClass(_23.readonly ? "checkbox-readonly" : "");
    };

    function _f(_24, _25) {
        var _26 = $.data(_24, "checkbox");
        var _27 = _26.options;
        var _28 = _26.checkbox;
        var rv = _28.find(".checkbox-value");
        _27.disabled = _25;
        if (_25) {
            $(_24).add(rv)._propAttr("disabled", true);
            _28.addClass("checkbox-disabled");
            $(_26.label).addClass("textbox-label-disabled");
        } else {
            $(_24).add(rv)._propAttr("disabled", false);
            _28.removeClass("checkbox-disabled");
            $(_26.label).removeClass("textbox-label-disabled");
        }
    };
    $.fn.checkbox = function (_29, _2a) {
        if (typeof _29 == "string") {
            return $.fn.checkbox.methods[_29](this, _2a);
        }
        _29 = _29 || {};
        return this.each(function () {
            var _2b = $.data(this, "checkbox");
            if (_2b) {
                $.extend(_2b.options, _29);
            } else {
                _2b = $.data(this, "checkbox", {options: $.extend({}, $.fn.checkbox.defaults, $.fn.checkbox.parseOptions(this), _29), checkbox: _2(this)});
            }
            _2b.options.originalChecked = _2b.options.checked;
            _6(this);
            _10(this);
            _15(this);
        });
    };
    $.fn.checkbox.methods = {
        options: function (jq) {
            var _2c = jq.data("checkbox");
            return $.extend(_2c.options, {value: _2c.checkbox.find(".checkbox-value").val()});
        }, setValue: function (jq, _2d) {
            return jq.each(function () {
                $(this).val(_2d);
                $.data(this, "checkbox").checkbox.find(".checkbox-value").val(_2d);
            });
        }, enable: function (jq) {
            return jq.each(function () {
                _f(this, false);
            });
        }, disable: function (jq) {
            return jq.each(function () {
                _f(this, true);
            });
        }, readonly: function (jq, _2e) {
            return jq.each(function () {
                _e(this, _2e);
            });
        }, check: function (jq) {
            return jq.each(function () {
                _d(this, true);
            });
        }, uncheck: function (jq) {
            return jq.each(function () {
                _d(this, false);
            });
        }, clear: function (jq) {
            return jq.each(function () {
                _d(this, false);
            });
        }, reset: function (jq) {
            return jq.each(function () {
                var _2f = $(this).checkbox("options");
                _d(this, _2f.originalChecked);
            });
        }
    };
    $.fn.checkbox.parseOptions = function (_30) {
        var t = $(_30);
        return $.extend({}, $.parser.parseOptions(_30, ["label", "labelPosition", "labelAlign", {labelWidth: "number"}]), {
            value: (t.val() || undefined),
            checked: (t.attr("checked") ? true : undefined),
            disabled: (t.attr("disabled") ? true : undefined),
            readonly: (t.attr("readonly") ? true : undefined)
        });
    };
    $.fn.checkbox.defaults = {
        width: 20, height: 20, value: null, disabled: false, readonly: false, checked: false, label: null, labelWidth: "auto", labelPosition: "before", labelAlign: "left", onChange: function (_31) {
        }
    };
})(jQuery);

